package ModelImplementation

import "time"

type BiweeklySchedule struct {
}

func (bs BiweeklySchedule) IsPayData(payDate time.Time) bool {
	firstPaydayFriday := time.Date(2001, 11, 9, 0, 0, 0, 0, time.Local)

	ts := payDate.Sub(firstPaydayFriday)

	daySinceFirstPayableFriday := int(ts.Hours()) / 24

	return daySinceFirstPayableFriday%14 == 0
}

func (bs BiweeklySchedule) GetPayPeriodStartDate(payPeriodEndDate time.Time) time.Time {
	return payPeriodEndDate.AddDate(0, 0, -13)
}
